10
תגובות
באתר יש אפשרות העלאת קבצים ZIP RAR PDF DOC DOCX במקום להעלות אותם לשרת שלי חשבתי להעלות אותם לחשבון שלי בגוגל דרייב.
הצלחתי לשלוף מידע על הקבצים הנמצאים בחשבון גוגל , הבעיה שזה מוגבל למחשב שלי כי רק במחשב שלי אני מחובר לחשבון שלי.
לכן זה לא ילך כי משתמשים אחרים שיעלו את הקבצים יהיו מחוברים לחשבון שלהם .

האם יש דרך פתרון ?
במקום שזה יפנה לחשבון גוגל הנוכחי (שנמצא במחשב) וינסה להתחבר לגוגל דרייב שלו, שיתחבר לחשבון גוגל דרייב ספציפי ?\


כל זה כדי להמנע מלעלות באופן ידני את הקבצים.
במקום שהקובץ יעלה לשרת ואני יעלה אותו לחשבון שזה יהיה אוטומטי. אם היה מדובר בקבצים בודדים אז אין בעיה, אבל מדובר בכמות מכובדת שדורשת עבודה אוטומטית.

10 תשובות

avatar ענה Splash ב 28 לאוגוסט 2015 #

אתה תצטרך לחקור יותר את ה api אבל אני מאמין שאתה יכול לקחת את המידע שאתה מקבל לשרת ולשלוח אותו ישר ל drive שלך ואז כל מה שתצטרך לעשות זה לשנות את ההרשאות של הקובץ ל anyone.
אני אישית לא מבין מה הקטע של האתר אם כל הקבצים נשמרים ב google drive למה שאני ישתמש בכלל בשירות שלך ? אני ישר יעלה את הקובץ לגוגל.

avatar ענה Ben ב 28 לאוגוסט 2015 #

זה אתר עזר וחלק מהעזרים הם קבצים אז במקום לשמור אותם על השרת שלי פשוט אשמור אותם על גוגל דרייב ואביא משם קישור להורדה.
הקבצים זה לא הרעיון המרכזי של האתר :)

אז חקרתי כבר יומיים אני יושב על זה ולא מוצא דרך..
בשביל לשלוח אותו לדריב שלי אני צריך להיות מחובר לחשבון גוגל דרך המחשב וזה בעייתי כי לא אוכל להתחבר לחשבון שלי דרך המחשבים של הגולשים.
לגבי ההרשאות זה לא בעיה, ההעברה מהאתר לדרייב (לחשבון ספציפי) זה הקושי פה שאני לא מצליח לפתור

avatar ענה Splash ב 28 לאוגוסט 2015 #

אני לא יודע אם הם לא יחסמו אותך על זה אבל כדי לעשות את זה אתה תצטרך בפעם הראשונה להתחבר למשתמש שלך ואז לשמור את ה access token איפה שהוא ולאפשר גישה offline ל drive שלך.
אתה יכול למצוא עוד הסבר על כך בתיעוד

avatar ענה Ben ב 29 לאוגוסט 2015 #

גישת offline לא באמת עוזרת.
יש לי עמוד מסויים שבו אני שולף את שם הקובץ השלישי לדוגמא (הכוונה שביצעתי התחברות לחשבון ואני שולף מידע ממנו על מצב offline).
כשאני נכנס לאותו עמוד ממחשב אחר או מדפדפן אחר הוא מבקש ממני להתחבר לחשבון אחרת לא אוכל לצפות בתוכן.
לא ניתן לשמור את ה access token מכיוון שהוא פג לאחר שעה בערך.

avatar ענה Splash ב 29 לאוגוסט 2015 #

מה זה "לא באמת עוזרת" ? אם לא תגדיר שאפשר להיכנס offline אז ה api לא יאפשר לך לפנות אל המשתמש שלך.
כל הקטע זה שאתה לא אמור להיכנס לאותו עמוד,אמור להיות לך עמוד אחד של התחברות והוא חד פעמי רק כדי לבצע אתחול של הנתונים ולאחר מכן אתה אמור לשמור את הכל [client_id,client_secret,access_token,refresh_token]
אחרי שנתת לו את כל הנתונים הוא אמור לבצע את הרענון של התוקן לבד מתי שהוא פג תוקף,במידה והוא לא עושה את זה אתה יכול לבדוק אם התוקן פג תוקף להשתמש במתודה refreshToken ולקבל את התוקן החדש.
אחרי שגוגל יוודא שכל הפרטים תואמים למה שיש להם בשרתים הם יתנו לך להתחבר למשתמש שלך offline ולהעלות את הקובץ.

לאחר שביצעת את כל הפעולות הסיבות היחידות שהתוקן יפוג תוקף לפי התיעוד הן -
*ביטלת את ההרשאות לאפליקציה
*לא השתמשת בתוקן במשך יותר מחצי שנה
*המשתמש שלך מבצע התחברות עם מעל 25 אפליקציות שונות,במקרה כזה הוא יעיף את התוקן שלא השתמשת בו הכי הרבה זמן. כדי להימנע ממצב זה תיצור משתמש שהתפקיד שלו הוא נטו עבור האתר ולא משמש לצרכים אישיים.

avatar ענה Ben ב 30 לאוגוסט 2015 #

המתודה refreshToken מקבלת תוקן חדש שאתה צריך ליצור ע"י הזדהות נוספת ומעדכנת את התוקן הנוכחי.
כלומר שהתוקן הנוכחי פג, אני צריך שוב לאשר בחשבון גוגל שלי שאני מאפשר שימוש בקבצי DRIVE שלי, ואז זה חוזר לאתר ומעדכן את התוקן.
וכל זה במצב offline.

avatar ענה Splash ב 30 לאוגוסט 2015 #

אתה לא צריך לאשר שוב בחשבון אחרי שיש לך את כל הנתונים אתה תצטרך לשלוח חזרה ל refreshToken את הנתונים שהוא צריך והוא יחזיר לך טוקן חדש.
מצאתי אפילו קוד שמוכיח את הטענות שלי [שלא נדבר על זה שזה כתוב שחור על לבן בתיעוד עצמו] - Google-Drive-Uploader-PHP.
אם הוא דורש ממך לאשר שוב פעם זה סימן שאתה עושה משהו לא נכון.

avatar ענה soogo ב 30 לאוגוסט 2015 #

ל DROPBOX יש שירות שמאפשר לאחרים להעלות לחשבון שלך

avatar ענה Ben ב 31 לאוגוסט 2015 #

אחלה הבנתי את הטעות שלי וסידרתי.
לפי הקוד שלו, אי אפשר לקבל את ה fileId כדי להוריד את הקובץ שהועלה.
מה גם הוא מעלה את הקובץ בצורה אחרת ממה שכתוב בתיעוד.

avatar ענה Splash ב 31 לאוגוסט 2015 #

בקוד שלו גם יש בעיות הרעיון היה רק להראות שכן ככה עושים,הוא למשל מבצע רענון ל token כל פעם ,גם מתי שלא צריך. במקום זה הוא אמור לבדוק האם אם התוקן פג תוקף בעזרת isAccessTokenExpired ורק אם הוא פג תוקף אז לרענן אותו.

לגבי העלאה הוא פשוט מבצע אותה בחלקים ואתה כנראה ראית תיעוד לגבי העלאה של הקובץ בשלמותו,מאחר ואתה מתעסק עם קבצים קטנים אני לא בטוח כמה כדאי לך להעלות את זה ככה.